package com.hnchances.studentscoresystem.dto.request;

import lombok.Data;

/**
 * 成绩删除请求DTO
 * 对应接口：/grades/del（有鉴权，老师权限）
 * 功能：软删除成绩（修改status为1），仅老师可删除本班级成绩
 */
@Data
public class GradesDeleteDTO {

    /**
     * 待删除成绩ID（定位需删除的成绩）
     * 约束：非空（匹配数据库grades表id字段，必传参数）
     */
    private Long gradesId;

    /**
     * 操作人ID（删除成绩的老师ID，用于权限校验）
     * 约束：非空（后端也可通过Token解析获取，匹配数据库user表id字段）
     */
    private Long operatorId;

    /**
     * 操作人身份（0-学生，1-老师，2-管理员）
     * 约束：非空（仅老师/管理员可执行删除，匹配数据库user表identity字段）
     */
    private Integer operatorIdentity;

    /**
     * 操作人班级ID（删除成绩的老师所属班级，用于校验“仅删除本班级成绩”）
     * 约束：操作人为老师时非空（匹配数据库user表classID字段，确保与成绩班级ID一致）
     */
    private Integer operatorClassId;
}